package com.hbnu.tonghengchang;

// 定义按钮点击监听接口
interface ButtonClickListener {
    void onClick(String buttonName);
}

// 定义按钮类
class Button {
    private String name;
    private ButtonClickListener listener;

    public Button(String name) {
        this.name = name;
    }

    public void setClickListener(ButtonClickListener listener) {
        this.listener = listener;
    }

    public void click() {
        if (listener != null) {
            listener.onClick(name);
        }
    }
}

public class ButtonDemo {
    public static void main(String[] args) {
        // 创建按钮
        Button button1 = new Button("提交按钮");
        Button button2 = new Button("取消按钮");

        // 1 使用匿名内部类设置点击事件
        button1.setClickListener(new ButtonClickListener() {
            @Override
            public void onClick(String buttonName) {
                System.out.println("匿名内部类: " + buttonName + " 被点击了！");
            }
        });

        // 2 使用 Lambda 表达式设置点击事件
        button2.setClickListener((buttonName) -> {
            System.out.println("Lambda 表达式: " + buttonName + " 被点击了！");
        });

        // 模拟点击
        button1.click();
        button2.click();
    }
}
